RESTful API এর রেসপন্স হ্যান্ডলিং এবং ডেটা ডিসপ্লে করা একটি গুরুত্বপূর্ণ দিক, যা একটি ওয়েব অ্যাপ্লিকেশনকে ব্যবহারকারীর জন্য ইন্টারেক্টিভ এবং রেসপন্সিভ করে তোলে। যখন আপনি Ajax ব্যবহার করে RESTful API কল করেন, তখন আপনি API রেসপন্সকে প্রসেস করে তা ইউজার ইন্টারফেসে (UI) দেখান। এই প্রক্রিয়াটি সাধারণত JSON ডেটা প্রসেসিং এবং ডাইনামিক HTML এ রেন্ডার করার মাধ্যমে করা হয়।
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>RESTful API Response Handling Example</title>
<style>
/* টেবিল স্টাইল */
table {
width: 100%;
border-collapse: collapse;
margin-top: 20px;
}
th, td {
padding: 10px;
border: 1px solid #ddd;
}
</style>
</head>
<body>
<h1>Employee List</h1>
<button onclick="fetchEmployees()">Fetch Employees</button>
<table id="employee-table">
<thead>
<tr>
<th>ID</th>
<th>Name</th>
<th>Email</th>
<th>Department</th>
</tr>
</thead>
<tbody>
<!-- ডেটা এখানে ডায়নামিক্যালি যোগ করা হবে -->
</tbody>
</table>
<div id="message-container" style="margin-top: 20px; color: red;">
<!-- Error বা অন্যান্য মেসেজ এখানে দেখানো হবে -->
</div>
<script>
// এমপ্লয়ির তালিকা ফেচ করার ফাংশন
function fetchEmployees() {
var xhr = new XMLHttpRequest();
xhr.open("GET", "https://example.com/api/employees", true);
xhr.onreadystatechange = function() {
if (xhr.readyState === 4) {
if (xhr.status === 200) {
var response = JSON.parse(xhr.responseText);
displayEmployees(response);
} else {
displayError("Error fetching employee data. Status: " + xhr.status);
}
}
};
xhr.onerror = function() {
displayError("Network error occurred while fetching data.");
};
xhr.send();
}
// এমপ্লয়ির ডেটা টেবিলে রেন্ডার করার ফাংশন
function displayEmployees(data) {
var tbody = document.querySelector("#employee-table tbody");
tbody.innerHTML = ""; // টেবিল ক্লিয়ার করা
data.forEach(function(employee) {
var row = document.createElement("tr");
row.innerHTML = `<td>${employee.id}</td>
<td>${employee.name}</td>
<td>${employee.email}</td>
<td>${employee.department}</td>`;
tbody.appendChild(row);
});
}
// Error মেসেজ ডিসপ্লে করার ফাংশন
function displayError(message) {
var messageContainer = document.getElementById("message-container");
messageContainer.innerHTML = message;
}
</script>
</body>
</html>
১. fetchEmployees() ফাংশন:
GET
মেথড ব্যবহার করে সমস্ত এমপ্লয়ির ডেটা ফেচ করে।xhr.onreadystatechange
ব্যবহার করে রেসপন্স চেক করা হয়। যদি রিকোয়েস্ট সফল হয় (HTTP স্ট্যাটাস 200
), তাহলে JSON ডেটা প্রসেস করা হয় এবং displayEmployees()
ফাংশনকে কল করা হয়।displayError()
ফাংশন কল হয়, যা মেসেজ কন্টেইনারে ত্রুটি মেসেজ প্রদর্শন করে।২. displayEmployees() ফাংশন:
<tbody>
) এমপ্লয়ির তথ্য যোগ করে।tr
(টেবিল রো) তৈরি করা হয় এবং td
(টেবিল ডাটা) এর মাধ্যমে তথ্য যোগ করা হয়।data.forEach
লুপ ব্যবহার করে ডাইনামিক্যালি প্রতিটি এমপ্লয়ির তথ্য টেবিলে রেন্ডার করা হয়।৩. displayError() ফাংশন:
১. Dynamic UI Update:
২. Error Handling:
৩. JSON Data Parsing:
৪. Asynchronous Operation:
200
(OK) হলে JSON ডেটা প্রসেস করা হয় এবং টেবিলে রেন্ডার করা হয়।404
(Not Found) বা অন্য কোনো ক্লায়েন্ট ত্রুটি থাকে, তাহলে displayError()
ফাংশন কল হয় এবং একটি ত্রুটি মেসেজ দেখায়।500
(Internal Server Error) বা অন্য কোনো সার্ভার ত্রুটি থাকে, তখনও একইভাবে displayError()
ফাংশন ব্যবহার করে ত্রুটি মেসেজ প্রদর্শিত হয়।xhr.onerror
ইভেন্ট ব্যবহার করে নেটওয়ার্ক ত্রুটিগুলো হ্যান্ডল করা হয় এবং ব্যবহারকারীকে নেটওয়ার্ক সমস্যার বিষয়ে জানানো হয়।